Skip to content

Conversation

@boorad
Copy link
Collaborator

@boorad boorad commented Dec 2, 2025

Feature Parity with 0.x

This PR implements the remaining Node.js crypto APIs needed for feature parity with the 0.x branch, completing our 1.0.0 release goals.

New Features

generateKeyPairSync() for RSA and EC

  • Previously threw "not implemented" error for RSA/RSA-PSS/EC key types
  • Now fully functional using existing C++ sync implementations
  • Ed25519/Ed448/X25519/X448 already worked; RSA and EC now complete the set

PKCS1 v1.5 Padding Support

  • publicEncrypt/publicDecrypt now accept a padding option
  • Supports both RSA_PKCS1_PADDING and RSA_PKCS1_OAEP_PADDING
  • Previously only OAEP was available

privateEncrypt() and privateDecrypt()

  • New functions for RSA signing-style encryption (encrypt with private key, decrypt with public key)
  • Uses EVP_PKEY_sign/EVP_PKEY_verify_recover OpenSSL APIs
  • Supports PKCS1 padding mode

Tests

  • 10 new tests for generateKeyPairSync (RSA 2048/4096, RSA-PSS, EC P-256/P-384/P-521)
  • 5 new tests for PKCS1 padding in publicEncrypt/publicDecrypt
  • 11 new tests for privateEncrypt/privateDecrypt

Documentation

  • Updated implementation-coverage.md to reflect new implementations
  • Added clang-format rule to `.claude/rules/code-cpp.xml

@boorad boorad self-assigned this Dec 2, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

🤖 End-to-End Test Results - Android

Status: ✅ Passed
Platform: Android
Run: 19871468025

📸 Final Test Screenshot

Maestro Test Results - android

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

🤖 End-to-End Test Results - iOS

Status: ✅ Passed
Platform: iOS
Run: 19871467976

📸 Final Test Screenshot

Maestro Test Results - ios

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@boorad boorad merged commit abb523b into main Dec 2, 2025
5 checks passed
@boorad boorad deleted the feat/parity-1 branch December 2, 2025 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants